package com.demo.camunda.util;

import cn.hutool.core.collection.CollUtil;
import org.springframework.util.CollectionUtils;

import java.util.*;

public class PageUtil {

    private static final int pageSize =  10;


    public  static Map<String, Object> startPage(int pageIndex, List list){
        Map<String, Object> map = new HashMap<>();
        if (CollectionUtils.isEmpty(list)) {
            map.put("pageIndex", pageIndex); // 当前页
            map.put("pageSize", pageSize); // 每页条数
            map.put("total", "0"); // 总记录数
            map.put("pages", "0"); // 总页数
            map.put("list",list); // 数据列表
            return map;
        }
        List pageList = new ArrayList<>();
        int totalSize = 0;
        int totalPage = 0;
        // 计算总页数
        totalSize = list.size();
        totalPage = cn.hutool.core.util.PageUtil.totalPage(totalSize, pageSize);
        // 分页，索引小于等于总页数，才返回列表.
        if (pageIndex <= totalPage) {
            // 分页
            pageList = CollUtil.page(pageIndex, pageSize, list);
        }
        // 返回结果
        map.put("pageIndex", Integer.toString(pageIndex)); // 当前页
        map.put("pageSize", Integer.toString(pageSize)); // 每页条数
        map.put("total", Integer.toString(totalSize)); // 总记录数
        map.put("pages", Integer.toString(totalPage)); // 总页数
        map.put("list", pageList); // 数据列表

        return map;
    }
}
